Yiksan0315's Blog

Lecture 14

# Tag:


toc test

Lecture 14

14.2 Texture Synthesis

조그만한 texture를 가진 image input을 주면 그를 큰 사이즈의 이미지로 만드는 문제.
사실 이러한 작업에서 spatial한 정보는 중요하지 않고, 이 질감을 표현하는 게 중요하다. 그래서 CNN에서 spatial한 정보는 날려버리고 texture 정보만 남긴다.

이를 capture하기 위해 gram matrix라는 것을 이용한다. CNN을 이용해 feature vector(실제로는 feature volume)을 뽑아낸 후, 거기서 Channel 크기의 vector를 두 개를 뽑아 element-wise하게 곱해 matrix를 만든다.

위처럼 두 벡터를 각기 다른 방향으로 세워두고, 서로 element-wise하게 곱한다. 이는 일종의 unnormarlized 된 두 벡터간의 covariance이다.
이러한 과정을 모든 두 쌍의 벡터마다 반복해 평균을 내는데, 이러면 spatial한 정보는 날라가게 된다. 이 matrix를 gram matrix라고 하며 각 위치에서의 벡터끼리 어떤 영향이 있는지를 담게 된다.

그리고 이미지에 대해서 gradient sscent를 이용해 복제하고자 하는 이미지의 gram matrix에 맞춰지도록 이미지를 생성하면 texture synthesis가 가능하다.

14.2.1 Texture synthesis + Feature reconstruction : Style Transfer

  • Texture synthesis → color와 texture information는 남기지만 spatial information은 날린다.
  • Feature reconstruction → 그 반대로, spatial information만 남겨진다.

그래서 원하는 스타일의 gram matrix와, 그 스타일대로 변화시키고 싶은 이미지에서 feature reconstruction으로 gradient ascent로 match시키면 그 스타일대로 그려진 변화된 이미지가 나온다.

하지만 기존의 gradient ascent 방식으로 직접 일일히 생성하려면 gradient를 몇번이고 반복해야 하므로, 아예 이를 학습하는 FeedForward Net을 하나 학습시키면 훨씬 빨라진다.
그리고 특히 instance normlization를 사용하면 결과물이 훨씬 좋게 나온다.

14.2.1.1 conditional instance nomarlization

normarlization시 각 스타일마다의 seperate scale와 shift parameter를 학습해서, 각 스타일 별로 사용해 여러 스타일을 한번에 학습하도록 하는 방식.

이 페이지는 리디주식회사에서 제공한 리디바탕 글꼴이 사용되어 있습니다. 리디바탕의 저작권은 리디주식회사가 소유하고 있습니다.

This Font Software is licensed under the SIL Open Font License, Version 1.1.

Copyright 2025. yiksan0315 All rights reserved.